package org.familysearch.fsapi.gwt.common.client.entities;

import java.util.ArrayList;

public class NameAssertion extends Assertion {

	private static class NameAssertionTypeConstant
	{
		private String type;
		
		NameAssertionTypeConstant(String type)
		{
			this.type = type;
		}
		
		public String toString()
		{
			String str = "[name-assertion-type=" +
				this.type;
			str += "]";
			return str;
		}
	}
	
	public static final NameAssertionTypeConstant AKA = new NameAssertionTypeConstant("AKA");
	public static final NameAssertionTypeConstant MARRIED_NAME = new NameAssertionTypeConstant("MARRIED_NAME");
	public static final NameAssertionTypeConstant NAME = new NameAssertionTypeConstant("NAME");
	public static final NameAssertionTypeConstant NICKNAME = new NameAssertionTypeConstant("NICKNAME");
	public static final NameAssertionTypeConstant OTHER = new NameAssertionTypeConstant("OTHER");
	public static final NameAssertionTypeConstant PHONETIC = new NameAssertionTypeConstant("PHONETIC");
	public static final NameAssertionTypeConstant UNKNOWN = new NameAssertionTypeConstant("UNKNOWN");
	
	private NameAssertionTypeConstant type;
	private ArrayList<NameForm> nameForms = new ArrayList<NameForm>();
	
	public NameAssertion()
	{
		super();
	}

	public NameAssertion(NameAssertionTypeConstant type) {
		super();
		this.type = type;
	}

	public NameAssertionTypeConstant getType() {
		return type;
	}

	public void setType(NameAssertionTypeConstant type) {
		this.type = type;
	}

	public ArrayList<NameForm> getNameForms() {
		return nameForms;
	}

	public void setNameForms(ArrayList<NameForm> nameForms) {
		this.nameForms = nameForms;
	}
	
	public void addNameForm(NameForm nameForm)
	{
		this.nameForms.add(nameForm);
	}
		
}
